package main

import "fmt"

func main() {
	// 常量 const
	// 字面常量： -100 3.14 true
	// 定义常量时需要定义其为有明确结果的值
	const constant1 float64 = 3.14
	// 也可以通过逗号进行连续赋值
	const constant2, constant3 = "demonLb", true
	fmt.Println(constant1, constant2, constant3)
	// 其中 iota 是常量计数器,只能在常量的表达式中使用
	// iota 在 const 关键字出现时将被重置为0
	// const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)
	const (
		iotaConstant1 = iota // 0
		iotaConstant2 = iota // 1
		something     = "a"
		// 行索引
		iotaConstant3   = iota // 3
		iotaConstant3_1        // 4
	)
	// 只针对语句块
	const iotaConstant4 = iota // 0
	const iotaConstant5 = iota // 0
	fmt.Println(iotaConstant1, iotaConstant2, iotaConstant3, iotaConstant3_1, iotaConstant4, iotaConstant5)

	// 使用 iota 来声明枚举类型：一周七天
	const (
		Monday = iota
		Tuesday
		Wednesday
		Thursday
		Friday
		Saturday
		Sunday
	)
	fmt.Println(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday)

}
